//*************数据类型与变量*******************
public class Test {
    //这个不叫main1函数，在java中没有函数概念，只有方法概念 --- 所以这个叫main1方法
    public static void main1(String[] args) {

        System.out.println("hello world");
        System.out.println("你好世界");
        System.out.println(10086);
        System.out.println(3.14);
        System.out.println('A');
        System.out.println();//println后面的ln是换行的意思

        System.out.print("hello ");//print没有换行
        System.out.println("cjhxm");


        int a = 10;
        System.out.print("a = ");
        System.out.println(a);

        int b;
        b = 100;
        System.out.print("b = ");
        System.out.println(b);

        //在java中，如果不给局部变量初始化，是错误的
//        int c;
//        System.out.println(c);
    }

    public static void main2(String[] args){

//        double a = 10;
//        int b = a;//双精度无法转换为整型类型 --- 除非自己强制类型转换
        double a = 10;
        int b = (int)a;
        System.out.println("a = " + a);
        System.out.println("b = " + b);//注意 double是8个字节，int是4个字节，强制类型转换后会发生数据的丢失

        long x = 100L;
        int y = (int)x;//int y = x;  这样会运行错误
        System.out.println("x = " + x);
        System.out.println("y = " + y);//注意，因为x是long类型，是8个字节，而int是4个字节，强制类型转换的时候会发生数据的丢失

        int r1 = 100;
        int r2 = 200;
        //java中的+号是拼接的作用
        System.out.println("r1 + r2 = " + r1 + r2);//这里的字符串因为会和 + r1先发生拼接，然后整体在和r2拼接
        System.out.println(r1 + r2 + " r1 + r2 = ");
    }

    public static void main(String[] args){
        String s1 = "hello ";
        String s2 = "world";

        String s3 = s1 + s2;//和C++的字符串用法一样
        System.out.println(s3);

        int a = 100;
        String s = String.valueOf(a);//整型转换为字符串
        System.out.println(s);

        String str = "10086";
        int p = Integer.parseInt(str);//字符串转换为整型
        System.out.println(p);

    }
}
